package com.cuotigou.util;




import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

/**
 * Created by Administrator on 2018/10/30.
 */
public class StringUtil {
    /**
     * 是否为空
     * @param str
     * @return
     */
    public static Boolean isEmpty(String str){
        if(str == null || "".equals(str)){
            return true;
        }
        return false;
    }


    /**
     * 读取txt文件的内容
     * @param path 想要读取的文件clesses下的路径
     * @return  返回文件内容
     */
    public static String txt2String(String path){
        StringBuilder result = new StringBuilder();
        try{
            path = Thread.currentThread().getContextClassLoader().getResource(path).getPath();
            File file = new File(path);
            BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
            String s = null;
            while((s = br.readLine())!=null){//使用readLine方法，一次读一行
                result.append(System.lineSeparator()+s);
            }
            br.close();
        }catch(Exception e){
            e.printStackTrace();
        }
        return result.toString();
    }


    public static String getTextFromTHML(String htmlStr) {
        Document doc = Jsoup.parse(htmlStr);
        String text = doc.text();
        // remove extra white space
        StringBuilder builder = new StringBuilder(text);
        int index = 0;
        while(builder.length()>index){
            char tmp = builder.charAt(index);
            if(Character.isSpaceChar(tmp) || Character.isWhitespace(tmp)){
                builder.setCharAt(index, ' ');
            }
            index++;
        }
        text = builder.toString().replaceAll(" +", " ").trim();
        return text;
    }

    public static boolean isBlank(String str) {
        int strLen;
        if(str != null && (strLen = str.length()) != 0) {
            for(int i = 0; i < strLen; ++i) {
                if(!Character.isWhitespace(str.charAt(i))) {
                    return false;
                }
            }

            return true;
        } else {
            return true;
        }
    }

    public static String substringBetween(String str, String open, String close, int fromIndex) {
        if(str != null && open != null && close != null) {
            int start = str.indexOf(open, fromIndex);
            if(start != -1) {
                int end = str.indexOf(close, start + open.length());
                if(end != -1) {
                    return str.substring(start + open.length(), end);
                }
            }

            return null;
        } else {
            return null;
        }
    }

    public static boolean contains(String str, String searchStr) {
        return str != null && searchStr != null?str.indexOf(searchStr) >= 0:false;
    }
    public static void main(String[] args){
        System.out.println(getTextFromTHML("&lt;p&gt;□、□6、□28分别是一位数、两位数和三位数，并且中间的数是前后两个数的平均数，请你推算一下，这三个数分别是（              ）、（               ）和（                ）.&lt;/p&gt;&lt;p&gt;□、□6、□28分别是一位数、两位数和三位数，并且中间的数是前后两个数的平均数，请你推算一下，这三个数分别是（              ）、（               ）和（                ）.&lt;/p&gt;"));

    }
}
